home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 July / EnigmA AMIGA RUN 20 (1997)(G.R. Edizioni)(IT)[!][issue 1997-07 & 08][EAR-CD IV].iso / lightwave / lwmlist / 96.lightwave-0108 / 000216_lightwave@garcia.com _Sat Jan 13 02:36:37 1996.msg < prev    next >
Internet Message Format  |  1996-02-03  |  9KB

  1. Received: from relay6.UU.NET (relay6.UU.NET [192.48.96.16]) by keeper.albany.net (8.7.1/8.7.1) with ESMTP id CAA16061 for <dwarner@albany.net>; Sat, 13 Jan 1996 02:36:36 -0500 (EST)
  2. Received: from garcia.com by relay6.UU.NET with SMTP 
  3.     id QQzyhq09495; Sat, 13 Jan 1996 02:34:23 -0500 (EST)
  4. Received: from  (localhost) by garcia.com (5.x/SMI-SVR4)
  5.     id AA26488; Sat, 13 Jan 1996 02:34:10 -0500
  6. Date: Sat, 13 Jan 1996 02:34:10 -0500
  7. Errors-To: dwarner@albany.net
  8. Message-Id: <199601120546.AAA00923@eri.erinet.com>
  9. Errors-To: dwarner@albany.net
  10. Reply-To: lightwave@garcia.com
  11. Originator: lightwave@garcia.com
  12. Sender: lightwave@garcia.com
  13. Precedence: bulk
  14. From: Andrew Hofman <andyh@erinet.com>
  15. To: Multiple recipients of list <lightwave@garcia.com>
  16. Subject: Tank Tread Tutorial, after several new requests
  17. X-Listprocessor-Version: 6.0c -- ListProcessor by Anastasios Kotsikonas
  18. Status: RO
  19. X-Status: A
  20.  
  21. A few people have asked for a reprint of this tutorial, so here it is . . .
  22.  
  23. E-Z TANK TREADS -- IMPRESS YOUR FRIENDS
  24. by Andrew Hofman
  25. Animator, LumaQuest Productions
  26.  
  27. Hasn't it been driving you nuts? Tank treads are really cool. At least I
  28. think so. But they're a big pain to do in LightWave, right? Wrong! This
  29. tutorial explains how to create treads with a minimum of fuss and almost no
  30. math, which is good since I am mathematically "challenged." It assumes a
  31. reasonable working knowledge of LightWave Modeler and Layout. These treads
  32. are not image-mapped, nor do they require lots of tedious object
  33. choregraphy. What's more, they are not bone-dependant, although bones can be
  34. used for aesthetic reasons if desired. The principles used here can be
  35. applied to other open and endless-loop style objects as well.
  36.  
  37. Due to the limitations of printed text, the tread described here is cloned
  38. from nothing more than a simple rectangular box. These tread "links" are
  39. free-standing and not actually connected, but anyone with the skills to
  40. complete this tutorial can easily develop more sophisticated designs. The
  41. exact same principles apply.
  42.  
  43. Before we begin, let me explain how this method works. Since tank treads
  44. follow a closed loop, rail cloning around a tread-shaped curve seemed a
  45. logical place to start. The problem was, how to create a proper morph target
  46. as well? To accomplish this, I exploited the fact that rail-cloned objects
  47. can have the same point order, even when the source object has been moved
  48. along the rail and re-cloned. To get proper wrapping of the links around
  49. both curved ends of the tread, it is important to have the master link
  50. centered precisely with respect to the curve's start point. This means
  51. moving the start point as well as the master link before creating the morph
  52. target. That is the key to the whole thing: Even moving the start point will
  53. still yield a valid morph target! 
  54.  
  55. For simplicity, I chose a tread design in which links would be spaced the
  56. same distance as they were wide (though this does not have to be the case).
  57. By shifting all the links counter-clockwise exactly twice their own width, I
  58. got the same effect as rotating a gear twice the angle of a single tooth. In
  59. other words, you don't need to rotate a gear through a full 360 degrees; you
  60. just rotate it a little and keep playing that in a seamless loop. Now let's
  61. get down to it.
  62.  
  63.  
  64. CREATING POINTS FOR THE CURVE:
  65.  
  66. 1. Starting  in Layer 1, create a disc. The settings are all default, except
  67. for the top, bottom and center: Sides = 16; Segments = 1; Top and Bottom =
  68. 0; Center = -2m on Z-axis; Radii = 500mm
  69.  
  70. 2. Use Mirror to create a duplicate of this disc on the other side of the
  71. Y-axis. These two discs will form the ends of the tread.
  72.  
  73. 3. Use Box / Numeric to create a box with the following dimensions: 
  74.  
  75. X = 0, 0 
  76. Y = -500mm, 500mm 
  77. Z = -1m, 1m
  78.  
  79. 4. Create a single point at the following location: X= 0, Y= 500mm, Z = 0.
  80. Then create another point, identical to the first, except at Y= - 500mm.
  81.  
  82.  
  83. BUILDING THE CURVE:
  84.  
  85. 5. Switch to Polygon selection mode to make sure no polys are hilighted,
  86. then switch back to Point selection Mode. 
  87.  
  88. 6. We're going for a hot dog-shaped curve here. Starting with the bottom
  89. dead center point at Z=0, select all the points one by one, in
  90. counter-clockwise fashion. Ignore the 7 inward-facing points on each disc.
  91.  
  92. 7. With all the relevant points hilighted, use Tools / Curves / Make Closed.
  93. The resulting closed curve should look like a cross-section of a hot dog.
  94. The top and bottom horizontal segments will not be perfectly flat, but
  95. adequate for this tutorial. More points can be added later. (If you're using
  96. pre-release Alpha or some other crash-prone version of Modeler, I'd suggest
  97. saving the curve now as TreadCurve.lwo.)  
  98.  
  99. 8. In Polygon selection mode, the curve should be the only thing hilighted.
  100. Cut it and paste into Layer 2.
  101.  
  102.  
  103. CREATING THE MASTER LINK:
  104.  
  105. 9. Go to Layer 3. Use Box / Numeric: 
  106. X = -500mm, 500mm 
  107. Y = -525mm, -475 mm 
  108. Z = -50 mm, 50 mm
  109.  
  110. This creates a box 100mm wide and 50mm tall, centered exactly on the tread
  111. path. It is also centered exactly over the start point of the curve. This is
  112. important! Without this, the links would not wrap correctly around the
  113. curved ends.
  114.  
  115. 9. With this box as the only active Layer, make the curve a background
  116. Layer. Select Multiply / Rail Clone and set it for 56 Uniform Lengths,
  117. Oriented. This creates links that are spaced the same distance as they are
  118. wide (There will be a slight progressive error as they wrap around,
  119. amounting to approx. 1 mm when the final one is reached. If it bothers you,
  120. try shortening the curve later). This 100mm spacing is not the only option,
  121. and I would encourage trying others on your own. One side benefit, it allows
  122. pretty accurate measurement of the curve's circumference: 56 x 2 (for the
  123. empty spaces) x 100 mm per link = 11.2 meters. This would be great for
  124. measuring irregular curves!
  125.  
  126. 10. You should now have a tread, with links wrapped smoothly around both
  127. ends of the curve. That is, each one should be at 90 degrees with respect to
  128. the curve's tangent at that point. If it looks good, save this object out as
  129. Tread1a.lwo, then hit Undo. This should leave you once again with a single
  130. tread.
  131.  
  132.  
  133. CREATING THE MORPH TARGET
  134.  
  135. 11. Make both the link and the curve active Layers. Draw a volume box
  136. enclosing the link and the curve's start point, which should be right smack
  137. in the middle of the link. Move both of them exactly 200mm on the Z-axis
  138. (The animation will run "backwards" if you move them minus 200mm. It's your
  139. call).
  140.  
  141. 12. Repeat the Rail Clone operation of Step 9. Note how the treads still
  142. wrap correctly around both ends. That is why you had to move the curve's
  143. start point. Save this object out as Tread1b.lwo.
  144.  
  145. That concludes the modeling stage of this tutorial. Now enter Layout and
  146. load both objects. 
  147.  
  148.  
  149. FIRE THAT BABY UP:
  150.  
  151. 13. In the Objects Panel, make Tread1b 100% dissolved. Since it is a morph
  152. target, we do not need to see it. Its placement in the scene is not
  153. important either, so it can be left where it is.
  154.  
  155. 14. Also in the Objects Panel, make Tread1a the Current Object. Select
  156. Tread1b as its morph target.
  157.  
  158. 15. We need to create a morph envelope for Tread1a. Click on the "E"
  159. (envelope) button next to the Metamorph Amount box. Leaving the default key
  160. at Frame 0 alone, create a key at Frame 20. Give it a value of 100%. Also
  161. change the End Behavior to "Repeat."
  162.  
  163.  
  164. 16. Exit the Envelope and Objects panels, and position your Camera for a
  165. good view of Tread1a.
  166.  
  167. 17. Make a wireframe preview, Last Frame = 20. Play this back in endless
  168. loop mode. See the cool tread rolling away? Now go invade Poland!
  169.  
  170.  
  171. EXTRA STUFF:
  172.  
  173. Treads are heavy and they usually sag on top. While the initial curve in
  174. Modeler could be modified to include some sag, I don't recommend this. Using
  175. 1 or 2 Bones in Layout is a far more flexible approach, and is almost
  176. enjoyably easy (for bones). Try adding a couple to Tread1a. Give them a
  177. Limited Range of 1 and keep them in their default rotation, laying down on
  178. their sides. With a Limited Range, they will not affect the entire object
  179. and you won't need to mess with lock-down bones. Place them along the top of
  180. the object and position accordingly. If your vehicle design has a lot of
  181. idler wheels along the top, use several smaller bones pointed vertically to
  182. create sag in between them. You could also try 3 or 4 bones along the bottom
  183. of the treads, moving both them and the wheels to conform with bumpy terrain.
  184.  
  185. I hope you enjoyed this tutorial, and that it proves useful to you in future
  186. animations. If you have any questions, don't be such a stranger! My email
  187. address is below.
  188.  
  189.  
  190.   
  191. Andy Hofman
  192. LumaQuest Productions           
  193. Animation and Dual Raptor 3 Rendering  
  194. andyh@erinet.com
  195. 513-643-7333